package com.xbell.app.sys.common;

/**
 * 参数返回值
 * @author 王的世界
 * @date 2017/10/28
 */


public enum ResponseCode
{
	/**
	 * 一切正常
	 */
	ResponseCodeOK(200),  // 正确
	/**
	 * 正常执行，但操作出错，比如删除某个用户，但却没有找到
	 */
	ResponseCodeOKButNotRight(201),
	/**
	 * 系统繁忙
	 */
	ResponseCodeBusy(202),
	/**
	 * 权限不足
	 */
	ResponseCodeNotAuth(403),
	/**
	 * 登录过期或未登录
	 */
	ResponseCodeNotLoginOrTimeout(401),

	/**
	 * 用户安全验证失败
	 */
	ResponseCodeTeaError(404),
	/**
	 *  统一的内部错误
	 */
	ResponseCodeInnerError(500),
	/**
	 * sql 执行出错
	 */
	ResponseCodeSqlError(501),
	/**
	 * 数据库操作出错
	 */
	ResponseCodeDBError(502),
	/**
	 * 参数出错
	 */
	ResponseCodeParamError(600),
	/**
	 * 缺少参数
	 */
	ResponseCodeParamNotEnoughError(601),
	/**
	 * 用户未绑定
	 */
	ResponseCodeUserNotBand(603),
	/**
	 * 参数格式不对
	 */
	ResponseCodeParamNotValidError(602),
	/**
	 文件错误
	*/
	ResponseCodeParamFileError(604),
	/**
	 * 时间不在范围内（时间过期）
	 */
	ResponseCodeDateNotInDue(666),

	/**
	 * 文件操作失败
	 */
	ResponseCodeFileError(800);

	private final int code;

	private ResponseCode(int code)
	{
		this.code = code;
	}

	/**
	 * @return the code
	 */
	public int getCode() {
		return code;
	}
	
	public static ResponseCode getByPrimary(int code) {
		for(ResponseCode c : ResponseCode.values()) {
			if(code==c.getCode()) {
				return c;
			}
		}
		throw new RuntimeException("获取返回码失败");
	}
}
